package com.zhiyou.springcloud.util;

public class Compare {
	//该方法返回-1说明开始时间大于结束时间，返回1说明开始时间小于结束时间，返回0说明时间相等，返回-2说明比较不成功
	public static int compareTime(String starttime,String endtime) {
		//传参时间格式为yyyy-MM-dd HH:mm:ss
		//1.先比较年
		String start=starttime.substring(0,4);
		Integer st=Integer.parseInt(start);
		String end=endtime.substring(0,4);
		Integer et=Integer.parseInt(end);
		System.out.println(starttime);
		System.out.println(endtime);
		System.out.println("开始年："+st);
		System.out.println("结束年："+et);
		if(st>et) {
			//开始时间年份大于结束时间
			return -1;
		}else if(st<et) {
			return 1;
		}else if(st.compareTo(et)==0){
			//2.如果年相等，再比较月
			String[] startM=starttime.split("-");
			System.out.println(startM[1]);
			Integer stm=Integer.parseInt(startM[1]);
			String[] endM=endtime.split("-");
			System.out.println(endM[1]);
			Integer endm=Integer.parseInt(endM[1]);
			System.out.println("开始月："+stm);
			System.out.println("结束月："+endm);
			if(stm>endm) {
				//开始月大于结束月
				return -1;
			}else if(stm>endm) {
				return 1;
			}else if(stm.compareTo(endm)==0){
				//3.如果月相等，比较日
				String[] startD=starttime.split("-");
				String[] startD1=startD[2].split(" ");
				Integer std=Integer.parseInt(startD1[0]);
				String[] endD=endtime.split("-");
				String[] endD1=endD[2].split(" ");
				Integer endd=Integer.parseInt(endD1[0]);
				System.out.println("开始日："+std);
				System.out.println("结束日："+endd);
				if(std>endd) {
					//开始日大于结束日
					return -1;
				}else if(std.compareTo(endd)==0){
					//4.如果开始日等于结束日，比较时
					String[] startH=starttime.split(" ");
					String[] startH1=startH[1].split(":");
					Integer sth=Integer.parseInt(startH1[0]);
					String[] endH=endtime.split(" ");
					String[] endH1=endH[1].split(":");
					Integer endh=Integer.parseInt(endH1[0]);
					System.out.println("开始时："+sth);
					System.out.println("结束时："+endh);
					if(sth>endh) {
						//开始时大于结束时
						return -1;
					}else if(sth.compareTo(endh)==0){
						String[] startMm=starttime.split(":");
						Integer stmm=Integer.parseInt(startMm[1]);
						String[] endMm=endtime.split(":");
						Integer endmm=Integer.parseInt(endMm[1]);
						System.out.println("开始分钟："+stmm);
						System.out.println("结束分钟："+endmm);
						if(stmm>endmm) {
							//开始分钟大于结束分钟
							return -1;
						}else if(stmm.compareTo(endmm)==0) {
							//分钟相等，比较秒
							String[] startS=starttime.split(":");
							Integer sts=Integer.parseInt(startS[2]);
							String[] endS=endtime.split(":");
							Integer ends=Integer.parseInt(endS[2]);
							System.out.println("开始秒："+sts);
							System.out.println("结束秒："+ends);
							if(sts>ends) {
								//开始秒大于结束秒
								return -1;
							}else if(sts.compareTo(ends)==0) {
								return 0;
							}else if(sts<ends) {
								return 1;
							}
						}
					}else if(sth<endh) {
						return 1;
					}
				}else if(std<endd) {
					return 1;
				}
			}
		}
		return -2;
	}
}
